package com.eian.boot.security.core.service;

import cn.dev33.satoken.stp.StpInterface;

import java.util.List;

/**
 * @author alex.meng
 * @createTime 2025-09-04 15:44
 * @description 使用注解鉴权需要实现方法
 **/
public abstract class AbstractSaPermission implements StpInterface {
    /**
     * 重写实现获取权限编码方法
     */
    protected abstract List<String> getPermissions();

    /**
     * 重写实现获取角色编码方法
     */
    protected abstract List<String> getRoles();

    /**
     * 获取菜单权限列表
     */
    @Override
    public List<String> getPermissionList(Object loginId, String loginType) {
        return getPermissions();
    }

    /**
     * 获取角色权限列表
     */
    @Override
    public List<String> getRoleList(Object loginId, String loginType) {
        return getRoles();
    }
}
